package com.dss.auto_deploy.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dss.auto_deploy.domain.AdmRegistryTagHst;
import com.dss.auto_deploy.dto.*;
import com.dss.auto_deploy.vo.AdmRegistryTagHstVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @Description:docker版本号维护Service
* @author dongshoushan
* @date 2022-10-08 11:29:18
*/
public interface IAdmRegistryTagHstService  extends IService<AdmRegistryTagHst> {
    /**
    * 新增docker版本号维护
    * @param admRegistryTagHstAddDto
    * @return
    */
    int insert(AdmRegistryTagHstAddDto admRegistryTagHstAddDto);

    /**
    * 修改docker版本号维护
    * @param admRegistryTagHstUpdateDto
    * @return
    */
    int update(AdmRegistryTagHstUpdateDto admRegistryTagHstUpdateDto);

    /**
    * 批量删除docker版本号维护
    * @param ids
    * @return
    */
    void deleteBatch(Long[] ids);

    /**
    * docker版本号维护查询
    * @param dto
    * @return List<AdmRegistryTagHst>
    */
    Page<AdmRegistryTagHstVo> list(RegistryTagHstPageDto dto);

    /**
     * 导出镜像
     */
    List<SysFileDto> exportImages(List<String> idList) throws Exception;

    /**
     * 导入jar包镜像
     * @param file
     */
    void importJarImages(Long projectId, Long namespaceId, MultipartFile file);

    List<AdmRegistryTagHst> getTagHst(DockerTagHstQueryDto dto);

    void deployProduction(List<String> idList) throws Exception;
}
